/*
 * ll2.h
 *
 *  Created on: 2015-04-04
 *      Author: root
 */

#ifndef LL2_H_
#define LL2_H_

//#include <assert.h>
#endif /* LL2_H_ */

#include "masterIncludes.h"


typedef struct NodeTag {
    int data;
    struct NodeTag *next;
} SNode;

SNode *Node_createStep();
void Node_destroyStep(SNode *node);

typedef struct ListTag {
    struct NodeTag *first;
} SList;

SList *List_createStep();
void List_destroyStep(SList *list);

void List_appendStep(SList *list, int input);
void List_insertStep(SList *list, int index, char *str);

//char *List_get(SList *list, int index);
//int List_find(SList *list, char *str);

void List_removeStep(SList *list, int index);
int List_popStep(SList *list, int index);

int List_lengthStep(SList *list);
//void List_print(SList *list);





